package com.mes.dao.tdd;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.mes.entity.cb.Materiel;
import com.mes.entity.cb.Order;
import com.mes.entity.cb.OrderDetailed;
import com.mes.entity.cb.Plan;
import com.mes.entity.cb.PlanDetailed;
import com.mes.entity.lc.MaterialComeku;
import com.mes.entity.tdd.Supplier;
import com.mes.entity.tdd.tj.Tpage;
/**
 * 
 *@ClassName: OthersMapper 
 *@Description: 模块所需其他的方法
 *@Author tdd
 *@Date 2018-6-6 上午9:40:59 
 *@version 1.0
 */
public interface OthersMapper {
	/**
	 * 分页查询订单
	 * @param tpage 条件+分页
	 * @return 订单集合
	 */
	List<Order> listOder(Tpage tpage);
	/**
	 * 订单分页条数
	 * @param tpage 条件+分页
	 * @return 条数
	 */
	int totalOder(Tpage tpage);
	/**
	 * 分页查询订单详情
	 * @param tpage 条件+分页
	 * @return 订单详情
	 */
	List<OrderDetailed> listOderM(Tpage tpage);
	/**
	 * 查询订单详情条数
	 * @param tpage 条件+分页
	 * @return 条数
	 */
	int totalOderM(Tpage tpage);
	/**
	 * 根据订单id查详情
	 * @param id 订单id
	 * @return 订单详情集合
	 */
	List<OrderDetailed> findbyporderid(Long id);
	/**
	 * 采购对账分页
	 * @param pageBean 条件+分页
	 * @return 物料集合
	 */
	List<Materiel> listCgdz(Tpage pageBean);
	/**
	 * 采购对账条数
	 * @param pageBean 条件+分页
	 * @return 条数
	 */
	int totalCgdz(Tpage pageBean);
	/**
	 * 物料入库分页
	 * @param pageBean 条件+分页
	 * @return 入库集合
	 */
	List<MaterialComeku> listRk(Tpage pageBean);
	/**
	 * 物料入库条数
	 * @param pageBean 条件+分页
	 * @return 条数
	 */
	int totalRk(Tpage pageBean);
	/**
	 * 采购应付详情分页
	 * @param pageBean 条件+分页
	 * @return 供应商集合
	 */
	List<Supplier> listPyf(Tpage pageBean);
	/**
	 * 采购应付详情条数
	 * @param pageBean 条件+分页
	 * @return 条数
	 */
	int totalPyf(Tpage pageBean);
	/**
	 * 采购应付分页
	 * @param pageBean 条件+分页
	 * @return 物料集合
	 */
	List<Materiel> listYf(Tpage pageBean);
	/**
	 * 采购应付条数
	 * @param pageBean 条件+分页
	 * @return 条数
	 */
	int totalYf(Tpage pageBean);
	/**
	 * 查询订单
	 * @param pageBean 条件+分页
	 * @return 订单集合
	 */
	List<Order> allOder(Tpage pageBean);
	/**
	 * 根据订单ids查详情
	 * @param ids 订单id组合的字符串
	 * @return 订单详情集合
	 */
	List<OrderDetailed> allOderMByids(String ids);
	/**
	 * 条件查询采购计划单以详情为主
	 * @param page 页数
	 * @param pageSize 条数
	 * @param materitId 物料id
	 * @param supplierId 供应商id
	 * @param planNumber 计划编号
	 * @param remark14 详情是否被订单选择
	 * @return 采购计划
	 */
	List<Plan> listCaiPlan(@Param("page") int page,@Param("pageSize") int pageSize,@Param("materitId") Long materitId,@Param("supplierId") Long supplierId,@Param("planNumber") String planNumber,@Param("remark14") String remark14);
	/**
	 * 条件查询采购计划单总页数 以详情为主
	 * @param materitId 物料id
	 * @param supplierId 供应商id
	 * @param planNumber 计划编号
	 * @param remark14 详情是否被订单选择
	 * @return 采购计划总页数
	 */
	int totalCaiPlan(@Param("materitId") Long materitId,@Param("supplierId") Long supplierId,@Param("planNumber") String planNumber,@Param("remark14") String remark14);
	/**
	 * 条件查询采购计划单详情
	 * @param materitId 物料id
	 * @param supplierId 供应商id
	 * @param planNumber 计划编号
	 * @param remark14 详情是否被订单选择
	 * @return 采购计划单详情
	 */
	List<PlanDetailed> listCaiPlanDetailed(@Param("materitId") Long materitId,@Param("supplierId") Long supplierId,@Param("planNumber") String planNumber,@Param("remark14") String remark14);
	/**
	 * 条件查询采购计划单详情
	 * @param ids 详情主键集合
	 * @param remark14 详情是否被订单选择
	 * @return 影响行数
	 */
	int caiPlanDetailedUpRemark14(@Param("ids") String ids,@Param("remark14") String remark14);
}
